The present invention relates to a network communication system, and more particularly, to a method and apparatus for managing a multimedia call across a plurality of domains.
With the emergence of communications networks capable of carrying both voice and data traffic, a number of new multimedia services are increasingly being delivered together with more traditional telephony products. For example, the use of broadband networks, such as asynchronous transfer mode (ATM) networks, for the transfer of multimedia information, such as video, voice and data, has become increasingly popular due to the high data rate and flexibility associated with such networks. ATM and other broadband networks have been embraced by the computer and telecommunication industries for networking existing and future multimedia applications, such as video conferencing, multimedia messaging, video-on-demand, and telephone applications.
In addition, in the end-to-end path of multimedia sessions, a number of heterogeneous network technologies or xe2x80x9cdomains,xe2x80x9d such as switches with different switch fabrics or diverse transport links, may be involved. For example, a number of domains are traversed when a private branch exchange (PBX)-based subscriber desires to access multimedia information available over an ATM network from an interactive voice response unit (IVRU), such as the Conversant(trademark) IVRU and media player, commercially available from Lucent Technologies Inc., of Murray Hill, N.J. The PBX switch, ATM network and IVRU are each separate domains, having unique protocols and addressing mechanisms.
Currently, multimedia information may be transmitted across ATM and other networks to an end user by means of an integrated transport protocol, whereby the various monomedia components within the composite multimedia signal are encoded and transported together. The call control component of multimedia calls is responsible for managing, maintaining and manipulating the logical state of all calls within a given switching domain, such as a modem or a private branch exchange switch. The call control component maintains knowledge of all active calls within a particular switching domain. There is currently little, if any, integration, however, of the various call control components of each domain in the end-to-end path of a multimedia session. Within each domain, application programming interfaces generally manipulate call control information to allow the origination and termination of calls and to monitor or change the state of existing calls. Each domain has a core capability to provide call control. A major difficulty arises when attempting to integrate two domains that have their own customized call control.
A need exists for a cross-platform call control integration strategy that allows a single call object to manage a multimedia call across multiple. domains. While current computer telephony integration (CTI) technologies allow first or third party call control for calls that exist within the domain of a given switch, they do not allow a single call control object to be connected to endpoints in two different domains. Where a call spans two switches, with each end of the call terminating on a different switch, or spans multiple media domains, very little call control capabilities currently exist. Although it would be desirable to treat calls that span multiple physical domains or multiple media domains or both as single calls, such calls are currently treated as multiple separate calls for call control purposes.
Currently, telephony application programming interfaces (APIs) do not allow a single call control object to be connected to endpoints in two different domains. For example, a telephone call between a voice over IP (VoIP) party and a PBX party spans two domains. Thus, this single call must be modeled and programmed as two separate calls, one in each domain, using currently available telephony APIs. If an application does require a single-call view of the call, the application must integrate the call control objects outside of the capabilities of the API.
The Java Telephony API (JTAPI), for example, commercially available from JavaSoft, Sun Microsystems, Inc., of Mountain View, Calif. supports multimedia, single domain calls. The Java Telephony API (JTAPI) is a portable, object-oriented application programming interface for Java-based computer-telephony applications. JTAPI was designed by a consortium of industry companies, including Lucent Technologies Inc., Dialogic, IBM, Intel, Nortel, Novell, Siemens, and Sun Microsystems. The JTAPI specification is actually a set of specifications for computer-telephony integrated call control. The xe2x80x9ccorexe2x80x9d API within JTAPI provides the basic call model and basic telephony features, such as the placement and receipt of telephone calls. The xe2x80x9ccorexe2x80x9d API is surrounded by additional APIs that provide functionality for specific telephony domains. Although JTAPI supports multimedia, single domain calls, JTAPI, does not handle multiple domain calls.
Generally, a multi-domain telephony application programming interface (API) is disclosed for managing a multimedia call across a plurality of domains. The multi-domain telephony application programming interface integrates the different call control and media protocols of various, domains. The multi-domain telephony application programming interface uses advanced addressing techniques to support a media independent call control model across multiple communication domains in a consistent and integrated manner. The call control capabilities of existing telephony application programming interfaces are normalized across multiple switching and media domains so that a logical call can span multiple domains. In the illustrative embodiment, the multi-domain telephony application programming interface is based on the Java Telephony API (JTAPI).
The multi-domain telephony application programming interface hides the complexity of mapping call identifiers of separate domains together and also provides a consistent way to support calls that span multiple domains. The multi-domain telephony application programming interface provides a cross-product solution that merges the call control capabilities of existing domain-specific interfaces.
The multi-domain telephony application programming interface recognizes a call between two domains as one call on both systems, and presents the calls together as a single transaction to a user application. The multi-domain telephony application programming interface implements a set of conventional API features and functions as well as a set of multi-domain enhancements in accordance with the present invention.
The multi-domain telephony application programming interface identifies and manages a set of inter-domain addresses (IDAs) that are the egress and access points between two domains, so that calls can traverse between them. According to one aspect of the invention, inter-domain addresses create a standard way to add or drop any endpoint in a call, regardless of which domain the originating or terminating endpoint is in, by configuring and managing the available gateway paths between domains in a consistent manner. The inter-domain address acts as a path between two different domains and hides the complexity of the various links included in the end-to-end path. Inter-domain addresses are uniquely addressable within the multi-domain telephony application programming interface domain. In one preferred implementation, inter-domain addresses are directional with a source IDA and a destination IDA comprising an IDA pair. According to a further aspect of the invention, each IDA pair preferably supports the same media types at both ends of the gateway IDA path.
The present invention allows a programmer to create third party call control applications that are media independent and support end-to-end call tracking through a single global call identifier.
A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.